1. Technical Field
This application generally relates to data storage, and more particularly to techniques used in connection with consistency information for RAID group members.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. Such storage devices are provided, for example, by EMC Corporation of Hopkinton, Mass. and disclosed in U.S. Pat. No. 5,206,939 to Yanai et al., U.S. Pat. No. 5,778,394 to Galtzur et al., U.S. Pat. No. 5,845,147 to Vishlitzky et al., and U.S. Pat. No. 5,857,208 to Ofek. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data stored therein.
Existing data storage systems may utilize different techniques in connection with providing fault tolerant data storage systems, for example, in the event of a data storage device failure. There are a number of different RAID (Redundant Array of Independent or Inexpensive Disks) levels and techniques that may be used in connection with providing a combination of fault tolerance and/or improved performance for data storage devices. For example, RAID-5 techniques can be used in connection with a data storage system to protect from a single device failure with block level striping and distributed parity information, and RAID-6 provides protection from two devices of the RAID group failing with two sets of distributed parity and block level striping.
In connection with RAID device groups, internal consistency information may be maintained regarding the RAID group members. The consistency information may indicate whether a RAID group device has data in an inconsistent or unknown state, such as in the event of a drive failure or replacement. The consistency information may also indicate whether a member including parity data is consistent with respect to the data members. For example, there may be 3 data members or drives and 1 parity member or drive for a RAID group in which a track of parity data is formed from 3 data tracks of the 3 data member drives. Consistency information may be maintained indicating the consistency of the parity data for the 3 data drives. In one existing implementation, consistency information may include a parity consistency bit per track of data indicating whether a track of parity data is consistent with respect to the data tracks of the contributing data drives. The consistency information may be in a track id table which includes an entry for each track of data. The parity consistency information with respect to the 3 data tracks may be replicated in the track id table entries for all 3 data tracks. For example, each of the track id table entries for the 3 data tracks may include a same bit of replicated parity consistency information indicating whether the track of parity data is consistent with respect to the 3 data tracks. The foregoing replication of parity consistency data for a RAID group creates an inefficiency in connection with maintaining and updating the consistency information. Additionally, storing internal consistency information regarding the RAID group in the track id table exposes internal RAID management information to other processes, such as other applications, that may also use the track id table. The other processes may improperly modify the consistency information introducing problems for management of the RAID group.